<?php
/**
 * Lớp model Page
 * @author Mr.UBKey
 *
 */
#[Table('page')]
#[PrimaryKey('id')]
class Areas_Page_Models_Page extends XPHP_Model
{
	public $id;
	
	#[Label('Tiêu đề')]
	#[Required(message = 'Tiêu đề không được để trống')]
    #[MaxLength(250, message = 'Tiêu đề có tối đa 250 kí tự')]
	public $title;
	
	#[Label('Dòng mô tả')]
	public $headline;
	
	#[Label('Nội dung')]
	public $content;
	
	#[Label('Ảnh')]
	public $avatar;
	
	public $date_create;
	
    /**
     * Thêm trang vào database
     */
    public function insert ()
    {
        $data = array();
        $data['title'] = $this->title;
        $data['headline'] = $this->headline;
        $data['content'] = $this->content;
        $data['date_create'] = $this->date_create;
        $data['avatar'] = $this->avatar;
        return $this->db->insert($data);
    }
    /**
     * Lấy ra danh sachs tin tức
     * @param array $options Điều kiện
     */
    public function getPages ($options = array())
    {
        //Set where
        foreach ($options as $field => $value) {
            $this->db->where($field, $value);
        }
        //Order
        $this->db->order_by('date_create', 'desc');
        return $this->db->get()->result();
    }
    /**
     * Cập nhật trang
     */
    public function update()
    {
        $data = array();
        $data['title'] = $this->title;
        $data['content'] = $this->content;
        $data['headline'] = $this->headline;
        $data['avatar'] = $this->avatar;
        return $this->db->where('id', $this->id)->update($data);
    }
    /**
     * Xóa trang
     */
    public function delete ()
    {
        return $this->db->where('id', $this->id)->delete();
    }
}